<template>
    <div id="main" :style="{width: '500px',height: '500px'}"></div>
</template>
<script>
import * as echarts from 'echarts';
import YC from "./410000.json" // 引入的盐城市geojson数据
export default {
  data() {
    return {
      option: {},
    };
  },
  methods: {
    drawMiddleChart() {       
        // 基于准备好的dom，初始化echarts实例
        var myChart = echarts.init(document.getElementById('main'));
        echarts.registerMap('YC', YC);
       // 初始化 echarts geojson 数据
        const geoCoordMap = []
        YC.features.forEach(item => {
            geoCoordMap.push({
                name: item.properties.name,
                value: item.properties.centroid
            })
        })
        // echarts 添加地图数据 registerMap(城市字母开头大写, geojson数据)
        echarts.registerMap('YC', YC)
        this.option = {
            tooltip: {
                show: true,
                trigger: 'item',
                triggerOn: 'click',
                enterable: true,
                extraCssText: 'z-index: 99;max-width: 100px; min-height:100px;white-space:pre-wrap',
                formatter: function(params) {
                    return `<div onclick="dialog('${params.name}')">${params.name}</div>`
                }
            },
            series: [{
                name: '盐城地区',
                type: 'map',
                map: 'YC',
                label: {
                    show: true
                },
                data: geoCoordMap, // 格式化后的geojaon数据
                geoIndex: 0, // 只展示geo地图，，不然会有两个地图重叠
                silent: false,
                emphasis: {
                areaColor: 'transparent'
                }
            }],
            // geo 配置
            geo: { 
            map: 'YC',
            roam: false,
            label: {
                show: true
            },
            itemStyle: {
                normal: {
                areaColor: '#00FFF4', //默认区块颜色
                borderColor: '#ffffff', //区块描边颜色
                borderWidth: 2 //区块描边颜色宽度
                },
                //鼠标经过高亮显示
                emphasis: {
                focus: "self", //突出选中的区域 其它区域谈化效果
                itemStyle: {
                    opacity: 1,
                    borderColor: "#f18355",
                    borderWidth: "3",
                    areaColor: "yellow"
                }
                }
            },
            // 点击之后的色块颜色
            select: {
                itemStyle: {
                    areaColor: "blue",
                    borderColor: "#f18355",
                    borderWidth: "3"
                }
            },
            regions: [ // 每个区域的颜色
                {
                  name: '大丰区', //区块名称
                  itemStyle: {
                    normal: {
                      areaColor: '#B9D696' // 区域颜色
                    }
                  }
                }
            ]
            }
        }
        // 绘制图表
        myChart.setOption(this.option);
    }
  },
  mounted() {
    this.drawMiddleChart();
    const _this = this
    window.dialog= function() {
        console.log('执行的')
    }
  }
}
</script>
